package Z02IOStream.W01WhatWenjianObject;

import java.io.File;
import java.util.Date;

public class IO02WenJianMethod {
    public static void main(String[] args) {
        File f = new File("c:/LOL.exe");
        System.out.println("当前文件是：" + f);
        System.out.println("判断是否存在：" + f.exists());
        System.out.println("判断是否为文件夹：" + f.isDirectory());
        System.out.println("判断是否是文件：" + f.isFile());
        System.out.println("获得文件的长度：" + f.length());

        long time = f.lastModified();
        // 文件最后修改时间

        Date d = new Date(time);
        System.out.println("获得文件最后修改时间：" + d);
        f.setLastModified(0);

        File f2 = new File("c:/temp/adc.txt");
        f.renameTo(f2);
        System.out.println("修改了名称");

    }
}

class Study{
    public static void main(String[] args) {
        File f = new File("c:/LOL.exe");

        // ，
        // 返回当前文件夹下的所有文件（不包含子文件及子文件夹）
        f.list();

        // 以文件数组的形式，
        // 返回当前文件夹下的所有文件（不包含子文件及子文件夹）
        File[] fs = f.listFiles();

        // 以文件形式返回获取所在文件夹
        f.getParent();

        // 以文件形式返回获取所在文件夹
        f.getParentFile();

        // 创建文件夹，如果父文件夹skin不存在，创建就无效
        f.mkdir();

        // 创建文件夹，如果父文件夹skin不存在，就会创建父文件夹
        f.mkdirs();

        // 创建一个空文件,如果父文件夹skin不存在，就会抛出异常
        // f.createNewFile();

        // 所以创建一个空文件之前，通常都会创建父目录
        f.getParentFile().mkdirs();

        // 列出所有的盘符c: d: e: 等等
        f.listRoots();

        // 刪除文件
        f.delete();

        // JVM结束的时候，刪除文件，常用于临时文件的删除
        f.deleteOnExit();
    }
}

//  一般说来操作系统都会安装在C盘，所以会有一个 C:\WINDOWS目录。
//  遍历这个目录下所有的文件(不用遍历子目录)
//  找出这些文件里，最大的和最小(非0)的那个文件，打印出他们的文件名
//  注: 最小的文件不能是0长度